SlideShare ist ein Scribd-Unternehmen logo
1 von 17
Downloaden Sie, um offline zu lesen
Graphen auf Linux	

           	

                                 GraphDB + Mono + Linux	

           	




           Daniel Kirstenpfad	

           sones GmbH	

           Schillerstrasse 5	

           04109 Leipzig	



Confidential	

                     sones GmbH| 18.05.11	

                 1
Überblick	



   §      Was ist ein Graph?	

   §      GraphDB von sones	

   §      das Mono Projekt	

   §      Anwendungsfälle	

   §      Demo	





Confidential	

                sones GmbH| 18.05.11	

              2	

   1
Was ist ein Graph?

   §      Knoten + Kanten à ungerichteter Graph	

   §      Beispiel: Strassenkarte	

   §      Alle Knoten haben den gleichen „Typen“	

   §      Alle Kanten „bedeuten“ die gleiche Art von Beziehung	

   §      Alle Beziehungen sind symetrisch	


   	

                           Knoten  
                                   1
                                Knoten  
                                                                       2




                      Knoten  
                        3
                                                Knoten  
                                                  4

Confidential	

                          sones GmbH| 18.05.11	

                     3	

   1
Was ist ein Graph?
                                                                                           	


   §      Gerichtete Kanten ergeben einen gerichteten Graphen	

   §      Beispiele: Twitter, href-Beziehungen im Web	

   §      Alle Knoten haben den gleichen „Typen“	

   §      Alle Kanten „bedeuten“ die gleiche Art von Beziehung	

   §      Alle Beziehungen sind asymetrisch	

   	

                                                    ist Freun
                                  Knoten                              d vo n
                                    1
                                         Knoten  
                                                                                 2




                      Knoten  
                        3
                                                    Knoten  
                           ist Freund von             4

Confidential	

                              sones GmbH| 18.05.11	

                          4	

   1
„Single Relational Structures“
                                                                      	


   §  Solange man innerhalb eines Graphen immer nur einen
       Bedeutung für alle Kanten hat spricht man von
       	

                    „Single Relational Structures“
                                                 	




                                                     ist Freund
                                 Knoten                                von
                                   1
                                        Knoten  
                                                                               2




                 Knoten  
                   3
                                                     Knoten  
                      ist Fre
                                und vo                 4
                                         n

Confidential	

                               sones GmbH| 18.05.11	

                    5	

   1
Property Graph und Ontologien	


   §  Knoten und Kanten des Property Graphen liegt eine
       Objekt-Ontologie zugrunde	

   §  Property Graph	

                 –  Knoten und Kanten haben key/value Properties (Attribute)	



                          Name = String                                    Name = String
                          Gewicht = Integer                                Datum = DateTime
                          Alter = Integer                                  Sender = SenderType
             befreundet




                                Name  =         Auftritt
                                 Homer                                         S01E01
                                Simpson



                          Alter=40                                         Name=S01E01
                          Gewicht=131                                      Datum=01.01.1991
                                                                           Sender=ZDF
Confidential	

                                   sones GmbH| 18.05.11	

                         6	

   1
Warum GraphDB?
                                                                                            	


   §  Man kann eine „etwas steht in einer Beziehung mit etwas“
       in fast jeder Datenbank modellieren	


                    1
             4
                                                XML
                                                                               graphml
                                                                                graph
        2
                                                                       node id=1 /
                              3
                                                 node id=2 /
                                                                                 node id=3 /
                                                                                 node id=4 /
                                                  JSON                           edge source=1 target=4 /
                                                                                 edge source=1 target=2 /
                     SQL                {
                                                                                 edge source=2 target=3 /
                                            1 : { nach : [4,2] }
             von
        Nach
                                                  /graph
                                            2 : { nach : [3] }
                                                                               /graphml
             1
          4
             }
             1
          2
             2
          3
Confidential	

                                       sones GmbH| 18.05.11	

                            7	

   1
Warum GraphDB?
                                                                                	


   §  Man kann eine „etwas steht in einer Beziehung mit etwas“
       in fast jeder Datenbank modellieren	

            –  Probleme: 	

                •  „Teure“ JOINs (was passiert bei Milliarden von
                   Verbindungen?)	

                •  Index Lookups um herauszufinden welche Knoten
                   verbunden sind	




                                   1
                         4


                              2
                                          3




Confidential	

                          sones GmbH| 18.05.11	

                   8	

   1
GraphDB von sones
                                                                                             	


   §  Seit 30.06.2010 OpenSource unter AGPLv3	

            –  http://github.com/sones/sones	

   §  Seit dieser Woche in Version 2.0 verfügbar	

   §  performante modulare GraphDB	

   §  Property Graph + minimale Ontologie	

                 –  frei definierbare Attribute an Objekten,Vererbung von Attributen (~OOP)	

   §  Offene Schnittstellen zur Plug-In Entwicklung	

   §  SQL ähnliche, einfache Anfragesprache „GQL“	

   §  REST Schnittstelle (XML, JSON)	

   §  leistungsfähige API mit Languagebindings für C#, Java,
       Javascript, PHP	

   §  Platformunabhängig dank des Mono Projects	





Confidential	

                                     sones GmbH| 18.05.11	

                      9	

   1
das Mono Projekt
                                                                           	


                 §  Open Source Implementierung der 
                     Common Language Runtime (CLR) von .NET	

                 §  Binärkompatibel mit Microsoft.NET	

                 §  Open Source Implementierung des größten
                     Teils der .NET Klassenbibliothek	

                    –  .NET 1.1, 2.0, 3.5, 4.0	

                 §  Platformunabhängig	

                    –  Linux, Windows, Mac OSX, BSD, Solaris,...	

                 §  Unterstützung weiterer Programmiersprachen
                     wie z.B. F# (Funktionale Programmierung)	

                 §  http://www.mono-project.com/	

                 §  http://github.com/mono	





Confidential	

                    sones GmbH| 18.05.11	

                   10	

   1
GraphDB auf Mono	


   §  GraphDB stellt hohe Anforderungen an Mono	

                 –  Garbage Collector muss performant und stabil funktionieren	

                 –  Viele parallel laufende Prozesse (Parallel Framework, Lock Free Data
                    Structures,...)	

   	





Confidential	

                                  sones GmbH| 18.05.11	

                     11	

   1
Monospace Conference	


   	

   	

   	

   	

   	

                   23. – 25. Juli 2011  	

                     Boston, USA    	

                            	

                 http://monospace.us        	

                            	

                            	


Confidential	

               sones GmbH| 18.05.11	

                12	

   1
Beispiel: „Wortschatz Leipzig“
                                                           	


   §  Relationale Datenbank vs. GraphDB	

   §  Über 26 Mio. Rows in 4 Tabellen sind reine Relationendaten	





Confidential	

                  sones GmbH| 18.05.11	

            13	

   1
Beispiel: „Wortschatz Leipzig“
                                                              	





                                 MySQL Query

    SELECT w.word AS wort, k.sig AS sig FROM co_s k, words w WHERE k.w1_id=
    (SELECT w_id FROM words w WHERE word = “Laptop”) AND k.w2_id=w.w_id
    ORDER BY k.sig DESC LIMIT 10;




Confidential	

                      sones GmbH| 18.05.11	

              14	

   1
Beispiel: „Wortschatz Leipzig“
                                                              	





                                 MySQL Query

    SELECT w.word AS wort, k.sig AS sig FROM co_s k, words w WHERE k.w1_id=
    (SELECT w_id FROM words w WHERE word = “Laptop”) AND k.w2_id=w.w_id
    ORDER BY k.sig DESC LIMIT 10;



                                   GQL Query

      FROM Word SELECT Cooccurrences.TOP(10) WHERE Content = ‘Laptop’;




Confidential	

                      sones GmbH| 18.05.11	

              15	

   1
Demos
                                                   	





                     DEMO

                 Social Network




Confidential	

       sones GmbH| 18.05.11	

         16	

   1
Vielen Dank!
                                                                                                 	





                 Daniel Kirstenpfad
                 Gründer / CTO
                 Tel.: +49 (0)361/ 3026 250
                 info@sones.de




                 sones GmbH RD                                         sones GmbH HQ
                 Eugen-Richter-Straße 44                                Schillerstrasse 5
                 99085 Erfurt                                           04109 Leipzig
                 Germany                                                Germany
                 Web: www.sones.com                                     Web: www.sones.com
                 Mail: info@sones.de                                    Mail: info@sones.de
                 Tel.: +49 (0)361/ 3026 250                             Tel.: +49 (0)341 39 29 68 0
                 Fax: +49 (0)361/ 2445 008                              Fax: +49 (0)361/ 2445 008



Confidential	

                                sones GmbH| 18.05.11	

                                                                                       17             17	

   1

Weitere ähnliche Inhalte

Empfohlen

AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Applitools
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at WorkGetSmarter
 

Empfohlen (20)

AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 
More than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike RoutesMore than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
 

sones GraphDB + MONO + Linux

  • 1. Graphen auf Linux GraphDB + Mono + Linux Daniel Kirstenpfad sones GmbH Schillerstrasse 5 04109 Leipzig Confidential sones GmbH| 18.05.11 1
  • 2. Überblick §  Was ist ein Graph? §  GraphDB von sones §  das Mono Projekt §  Anwendungsfälle §  Demo Confidential sones GmbH| 18.05.11 2 1
  • 3. Was ist ein Graph? §  Knoten + Kanten à ungerichteter Graph §  Beispiel: Strassenkarte §  Alle Knoten haben den gleichen „Typen“ §  Alle Kanten „bedeuten“ die gleiche Art von Beziehung §  Alle Beziehungen sind symetrisch Knoten   1 Knoten   2 Knoten   3 Knoten   4 Confidential sones GmbH| 18.05.11 3 1
  • 4. Was ist ein Graph? §  Gerichtete Kanten ergeben einen gerichteten Graphen §  Beispiele: Twitter, href-Beziehungen im Web §  Alle Knoten haben den gleichen „Typen“ §  Alle Kanten „bedeuten“ die gleiche Art von Beziehung §  Alle Beziehungen sind asymetrisch ist Freun Knoten   d vo n 1 Knoten   2 Knoten   3 Knoten   ist Freund von 4 Confidential sones GmbH| 18.05.11 4 1
  • 5. „Single Relational Structures“ §  Solange man innerhalb eines Graphen immer nur einen Bedeutung für alle Kanten hat spricht man von „Single Relational Structures“ ist Freund Knoten   von 1 Knoten   2 Knoten   3 Knoten   ist Fre und vo 4 n Confidential sones GmbH| 18.05.11 5 1
  • 6. Property Graph und Ontologien §  Knoten und Kanten des Property Graphen liegt eine Objekt-Ontologie zugrunde §  Property Graph –  Knoten und Kanten haben key/value Properties (Attribute) Name = String Name = String Gewicht = Integer Datum = DateTime Alter = Integer Sender = SenderType befreundet Name  =   Auftritt Homer   S01E01 Simpson Alter=40 Name=S01E01 Gewicht=131 Datum=01.01.1991 Sender=ZDF Confidential sones GmbH| 18.05.11 6 1
  • 7. Warum GraphDB? §  Man kann eine „etwas steht in einer Beziehung mit etwas“ in fast jeder Datenbank modellieren 1 4 XML graphml graph 2 node id=1 / 3 node id=2 / node id=3 / node id=4 / JSON edge source=1 target=4 / edge source=1 target=2 / SQL { edge source=2 target=3 / 1 : { nach : [4,2] } von Nach /graph 2 : { nach : [3] } /graphml 1 4 } 1 2 2 3 Confidential sones GmbH| 18.05.11 7 1
  • 8. Warum GraphDB? §  Man kann eine „etwas steht in einer Beziehung mit etwas“ in fast jeder Datenbank modellieren –  Probleme: •  „Teure“ JOINs (was passiert bei Milliarden von Verbindungen?) •  Index Lookups um herauszufinden welche Knoten verbunden sind 1 4 2 3 Confidential sones GmbH| 18.05.11 8 1
  • 9. GraphDB von sones §  Seit 30.06.2010 OpenSource unter AGPLv3 –  http://github.com/sones/sones §  Seit dieser Woche in Version 2.0 verfügbar §  performante modulare GraphDB §  Property Graph + minimale Ontologie –  frei definierbare Attribute an Objekten,Vererbung von Attributen (~OOP) §  Offene Schnittstellen zur Plug-In Entwicklung §  SQL ähnliche, einfache Anfragesprache „GQL“ §  REST Schnittstelle (XML, JSON) §  leistungsfähige API mit Languagebindings für C#, Java, Javascript, PHP §  Platformunabhängig dank des Mono Projects Confidential sones GmbH| 18.05.11 9 1
  • 10. das Mono Projekt §  Open Source Implementierung der Common Language Runtime (CLR) von .NET §  Binärkompatibel mit Microsoft.NET §  Open Source Implementierung des größten Teils der .NET Klassenbibliothek –  .NET 1.1, 2.0, 3.5, 4.0 §  Platformunabhängig –  Linux, Windows, Mac OSX, BSD, Solaris,... §  Unterstützung weiterer Programmiersprachen wie z.B. F# (Funktionale Programmierung) §  http://www.mono-project.com/ §  http://github.com/mono Confidential sones GmbH| 18.05.11 10 1
  • 11. GraphDB auf Mono §  GraphDB stellt hohe Anforderungen an Mono –  Garbage Collector muss performant und stabil funktionieren –  Viele parallel laufende Prozesse (Parallel Framework, Lock Free Data Structures,...) Confidential sones GmbH| 18.05.11 11 1
  • 12. Monospace Conference 23. – 25. Juli 2011 Boston, USA http://monospace.us Confidential sones GmbH| 18.05.11 12 1
  • 13. Beispiel: „Wortschatz Leipzig“ §  Relationale Datenbank vs. GraphDB §  Über 26 Mio. Rows in 4 Tabellen sind reine Relationendaten Confidential sones GmbH| 18.05.11 13 1
  • 14. Beispiel: „Wortschatz Leipzig“ MySQL Query SELECT w.word AS wort, k.sig AS sig FROM co_s k, words w WHERE k.w1_id= (SELECT w_id FROM words w WHERE word = “Laptop”) AND k.w2_id=w.w_id ORDER BY k.sig DESC LIMIT 10; Confidential sones GmbH| 18.05.11 14 1
  • 15. Beispiel: „Wortschatz Leipzig“ MySQL Query SELECT w.word AS wort, k.sig AS sig FROM co_s k, words w WHERE k.w1_id= (SELECT w_id FROM words w WHERE word = “Laptop”) AND k.w2_id=w.w_id ORDER BY k.sig DESC LIMIT 10; GQL Query FROM Word SELECT Cooccurrences.TOP(10) WHERE Content = ‘Laptop’; Confidential sones GmbH| 18.05.11 15 1
  • 16. Demos DEMO Social Network Confidential sones GmbH| 18.05.11 16 1
  • 17. Vielen Dank! Daniel Kirstenpfad Gründer / CTO Tel.: +49 (0)361/ 3026 250 info@sones.de sones GmbH RD sones GmbH HQ Eugen-Richter-Straße 44 Schillerstrasse 5 99085 Erfurt 04109 Leipzig Germany Germany Web: www.sones.com Web: www.sones.com Mail: info@sones.de Mail: info@sones.de Tel.: +49 (0)361/ 3026 250 Tel.: +49 (0)341 39 29 68 0 Fax: +49 (0)361/ 2445 008 Fax: +49 (0)361/ 2445 008 Confidential sones GmbH| 18.05.11 17 17 1